﻿using Microsoft.EntityFrameworkCore;
using OL.FrameCore.Application.Dept.Dto;
using OL.FrameCore.Infrastructure.Code;
using System;
using System.Collections.Generic;
using System.Text;

namespace OL.FrameCore.Application.Dept
{
    public interface IDeptService : IAutoInject
    {
        /// <summary>
        /// 获取所有部门列表
        /// </summary>
        /// <returns></returns>
        IList<GetDeptListModel> GetAllDeptList();
        /// <summary>
        /// 获取部门列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        PageData<GetDeptListModel> GetDeptList(GetDeptListRequest request);
        /// <summary>
        /// 获取部门
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        GetDeptResponse GetDept(int id);
        /// <summary>
        /// 添加部门
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Result AddDept(AddDeptRequest request);
        /// <summary>
        /// 修改部门
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        Result UpdateDept(UpdateDeptRequest request);
        /// <summary>
        /// 删除部门
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Result DeleteDept(int id, int opeatorId);

    }
}
